[OpenBSD] Various changes to get Xen building on OpenBSD.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 18 Oct 2006 16:08:09 +0000 (17:08 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 18 Oct 2006 16:08:09 +0000 (17:08 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
config/Linux.mk
config/OpenBSD.mk [new file with mode: 0644]
config/StdGNU.mk [new file with mode: 0644]
config/SunOS.mk
config/x86_32.mk
config/x86_64.mk
xen/Rules.mk
xen/common/vsprintf.c
xen/drivers/char/console.c
xen/include/xen/lib.h
xen/include/xen/stdarg.h [new file with mode: 0644]

index be9fab97dfc2ccbf8275ee36df98d8f8c4f2d053..52c222799677f0a8f2036cfea8ebc9f872861140 100644 (file)
@@ -1,35 +1,4 @@
-# -*- mode: Makefile; -*-
-
-AS         = $(CROSS_COMPILE)as
-LD         = $(CROSS_COMPILE)ld
-CC         = $(CROSS_COMPILE)gcc
-CPP        = $(CROSS_COMPILE)gcc -E
-AR         = $(CROSS_COMPILE)ar
-RANLIB     = $(CROSS_COMPILE)ranlib
-NM         = $(CROSS_COMPILE)nm
-STRIP      = $(CROSS_COMPILE)strip
-OBJCOPY    = $(CROSS_COMPILE)objcopy
-OBJDUMP    = $(CROSS_COMPILE)objdump
-
-INSTALL      = install
-INSTALL_DIR  = $(INSTALL) -d -m0755
-INSTALL_DATA = $(INSTALL) -m0644
-INSTALL_PROG = $(INSTALL) -m0755
-
-LIB64DIR = lib64
-
-SOCKET_LIBS =
-CURSES_LIBS = -lncurses
-SONAME_LDFLAG = -soname
-SHLIB_CFLAGS = -shared
-
-ifneq ($(debug),y)
-# Optimisation flags are overridable
-CFLAGS ?= -O2 -fomit-frame-pointer
-else
-# Less than -O1 produces bad code and large stack frames
-CFLAGS ?= -O1 -fno-omit-frame-pointer
-endif
+include $(XEN_ROOT)/config/StdGNU.mk
 
 # You may use wildcards, e.g. KERNELS=*2.6*
 KERNELS ?= linux-2.6-xen
diff --git a/config/OpenBSD.mk b/config/OpenBSD.mk
new file mode 100644 (file)
index 0000000..b421a1c
--- /dev/null
@@ -0,0 +1 @@
+include $(XEN_ROOT)/config/StdGNU.mk
diff --git a/config/StdGNU.mk b/config/StdGNU.mk
new file mode 100644 (file)
index 0000000..2b76751
--- /dev/null
@@ -0,0 +1,30 @@
+AS         = $(CROSS_COMPILE)as
+LD         = $(CROSS_COMPILE)ld
+CC         = $(CROSS_COMPILE)gcc
+CPP        = $(CROSS_COMPILE)gcc -E
+AR         = $(CROSS_COMPILE)ar
+RANLIB     = $(CROSS_COMPILE)ranlib
+NM         = $(CROSS_COMPILE)nm
+STRIP      = $(CROSS_COMPILE)strip
+OBJCOPY    = $(CROSS_COMPILE)objcopy
+OBJDUMP    = $(CROSS_COMPILE)objdump
+
+INSTALL      = install
+INSTALL_DIR  = $(INSTALL) -d -m0755
+INSTALL_DATA = $(INSTALL) -m0644
+INSTALL_PROG = $(INSTALL) -m0755
+
+LIB64DIR = lib64
+
+SOCKET_LIBS =
+CURSES_LIBS = -lncurses
+SONAME_LDFLAG = -soname
+SHLIB_CFLAGS = -shared
+
+ifneq ($(debug),y)
+# Optimisation flags are overridable
+CFLAGS ?= -O2 -fomit-frame-pointer
+else
+# Less than -O1 produces bad code and large stack frames
+CFLAGS ?= -O1 -fno-omit-frame-pointer
+endif
index 638281a480efb6e3aaee35268a47849c0e453cb1..ca73d6f9491fe927f09864f11fc3eeed18a35d97 100644 (file)
@@ -1,5 +1,3 @@
-# -*- mode: Makefile; -*-
-
 AS         = $(CROSS_COMPILE)gas
 LD         = $(CROSS_COMPILE)gld
 CC         = $(CROSS_COMPILE)gcc
index 7e13463326cb16851d7a9c7bb769f08f3a22753c..4a0490afa846d12351ff6ab424fc6a70b4964813 100644 (file)
@@ -10,4 +10,8 @@ CFLAGS += -m32 -march=i686
 LIBDIR := lib
 
 # Use only if calling $(LD) directly.
+ifeq ($(XEN_OS),OpenBSD)
+LDFLAGS_DIRECT += -melf_i386_obsd
+else
 LDFLAGS_DIRECT += -melf_i386
+endif
index 3825caafd5bf98ee6f63276f853f0bbf6ed168b3..e85b37ff91a3db7976c2437561249eb03d321ee8 100644 (file)
@@ -10,4 +10,8 @@ CFLAGS += -m64
 LIBDIR = $(LIB64DIR)
 
 # Use only if calling $(LD) directly.
+ifeq ($(XEN_OS),OpenBSD)
+LDFLAGS_DIRECT += -melf_x86_64_obsd
+else
 LDFLAGS_DIRECT += -melf_x86_64
+endif
index d333e563ce76b6ce18c7812e0c36bcf3043a6726..08c26aca446d6a71f239f8d845423cf04d995c48 100644 (file)
@@ -72,7 +72,7 @@ AFLAGS   := $(strip $(AFLAGS) $(AFLAGS-y))
 AFLAGS   += $(patsubst -std=gnu%,,$(CFLAGS))
 
 # LDFLAGS are only passed directly to $(LD)
-LDFLAGS  += $(LDFLAGS_DIRECT)
+LDFLAGS  := $(strip $(LDFLAGS) $(LDFLAGS_DIRECT))
 
 include Makefile
 
index da82029195955ba8b01283fcab8044cc0a2459e0..7de43593fefbd7aa24d1d49e935aa906b54ddf0e 100644 (file)
@@ -16,7 +16,7 @@
  * - scnprintf and vscnprintf
  */
 
-#include <stdarg.h>
+#include <xen/stdarg.h>
 #include <xen/ctype.h>
 #include <xen/lib.h>
 #include <asm/div64.h>
index b43f8eafc790ba85e948111d2d9f4e61a9beabc8..78034b275309a18c689d51397ae681b8d95937dc 100644 (file)
@@ -6,7 +6,7 @@
  * Copyright (c) 2002-2004, K A Fraser.
  */
 
-#include <stdarg.h>
+#include <xen/stdarg.h>
 #include <xen/config.h>
 #include <xen/version.h>
 #include <xen/init.h>
index 00bb0830e9e3037441fe7e61064d6c5c4902d03e..52509addd41ad43345c18331804f5a4b382a740e 100644 (file)
@@ -2,7 +2,7 @@
 #define __LIB_H__
 
 #include <xen/inttypes.h>
-#include <stdarg.h>
+#include <xen/stdarg.h>
 #include <xen/config.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
diff --git a/xen/include/xen/stdarg.h b/xen/include/xen/stdarg.h
new file mode 100644 (file)
index 0000000..a9bdaca
--- /dev/null
@@ -0,0 +1,5 @@
+#if defined(__OpenBSD__) || defined(__sun__)
+#  include "/usr/include/stdarg.h"
+#else
+#  include <stdarg.h>
+#endif